package com.br.outros;

import java.io.UnsupportedEncodingException;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailSenderMobile {

	public void enviaEmailsErro(String texto) {
		// String ip = ipC;

		MailSenderMobile email = new MailSenderMobile();
		boolean emailEnviado = false;

		String nomeRemet = "ERRO SERVLET MOBILE";
		String emailRemet = "proximobar@proximobar.com";
		String assunto = "[ERRO SERVLET][ERRO]";
		String corpo = texto;
		String emailDest = "contato@proximobar.com";
		String nomeDest = "Contato Proximo Bar";
		String dest1 = "grupotccup@googlegroups.com";
		String dest2 = "cefalonx@gmail.com";
		String dest3 = "alexandre.koslowski@gmail.com";
		String dest4 = "diegobvogel@gmail.com";
		String dest5 = "cosmemacedo@gmail.com";
		String dest6 = "wagnerep@hotmail.com";
		try {
			emailEnviado = email.enviarEmail(emailDest, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest1, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest2, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest3, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest4, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest5, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest6, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			MailSenderMobile mail = new MailSenderMobile();
			mail.enviaEmailsErro("ERRO MAIL SENDER MOBILE = ENVIA EMAILS ERRO<BR />\n"
					+ e.toString());
		}
	}

	public void enviaEmailsStatus(String texto) {
		// String ip = ipC;

		MailSenderMobile email = new MailSenderMobile();
		boolean emailEnviado = false;

		String nomeRemet = "STATUS SERVER MOBILE";
		String emailRemet = "proximobar@proximobar.com";
		String assunto = "[SERVER MOBILE][STATUS]";
		String corpo = texto;
		String emailDest = "contato@proximobar.com";
		String nomeDest = "Contato Proximo Bar";
		String dest1 = "grupotccup@googlegroups.com";
		String dest2 = "cefalonx@gmail.com";
		String dest3 = "alexandre.koslowski@gmail.com";
		String dest4 = "diegobvogel@gmail.com";
		String dest5 = "cosmemacedo@gmail.com";
		String dest6 = "wagnerep@hotmail.com";
		try {
			emailEnviado = email.enviarEmail(emailDest, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest1, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest2, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest3, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest4, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest5, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
			emailEnviado = email.enviarEmail(dest6, nomeDest, emailRemet,
					nomeRemet, assunto, corpo);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			MailSenderMobile mail = new MailSenderMobile();
			mail.enviaEmailsErro("ERRO MAIL SENDER MOBILE = enviaEmailsStatus<BR />\n"
					+ e.toString());
		}
	}

	public boolean enviarEmail(String emailDest, String nomeDest,
			String emailRemet, String nomeRemet, String assunto, String corpo) {
		Properties props = System.getProperties();
		props.put("mail.smtp.host", "mail.proximobar.com");
		props.put("mail.smtp.auth", "true");
		Authenticator auth = new Authenticator() {
			public PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication("contato@proximobar.com",
						"ihNETLtlG2");
			}
		};
		// proximob_final
		Session session = Session.getInstance(props, auth);
		MimeMessage message = new MimeMessage(session);
		try {
			message.setFrom(new InternetAddress(emailRemet, nomeRemet));
			message.addRecipient(Message.RecipientType.TO, new InternetAddress(
					emailDest, nomeDest));
			message.setSubject(assunto);
			message.setContent(corpo, "text/html");

			Transport.send(message);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			MailSenderMobile mail = new MailSenderMobile();
			mail.enviaEmailsErro("ERRO MAIL SENDER MOBILE\n" + e.toString());
			return false;
		} catch (MessagingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			MailSenderMobile mail = new MailSenderMobile();
			mail.enviaEmailsErro("ERRO MAIL SENDER MOBILE - ENVIA EMAIL<BR />\n"
					+ e.toString());
			return false;
		}

		return true;

	}

}
